home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Contributed Scores / David Spondike / Jetson.scom < prev    next >
Lisp/Scheme  |  1998-10-26  |  39KB  |  842 lines

  1. ; George Jetson Meets the Big Bang:
  2. ; a sculpture in accoustic space
  3.  
  4. ; David Spondike
  5. ; winter/spring '97
  6. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  7. ;copyright 1997
  8. ;
  9. ;
  10. ;
  11. ;to be realized on a Korg X5 Synthesizer
  12. ;                                                                   ; pallette
  13. ;  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  14. ;                                                  ; generate vectors-
  15. ;                                                                   ; white-vector ;500
  16. ;                                                                   ; fig-vector ;250
  17. ;                                                                   ; fig-smoo-vector ;250 
  18. ;                                                                   ; hop-x-vector ;1000
  19. ;                                                                   ; hop-y-vector ;1000
  20. ;                                                                   ; hop-xy-vector ;1000
  21. ;                                                                   ; four-vector ;500
  22. ;                                                                   ; butterfly-vector ;250
  23. (setq 
  24.    white-vector (gen-noise-white 500)
  25. )
  26. ; - - - - - - - - - - - - - - - - - - -
  27. (setq fig-vector 
  28.     (list-to-vector
  29.         (nthcdr 12 (vector-to-list (gen-feigenbaum 2.63 262 0.005 0.0011))
  30.         )
  31.     )
  32. )
  33.  
  34. (setq fig-smoo-vector (vector-smooth 5 fig-vector)
  35. )
  36. ; - - - - - - - - - - - - - - - - - - - -
  37.  
  38. (gen-hopalong-vector x y 20 222 388 0.2 1006 0)
  39. (setq hop-x-vector
  40.     (list-to-vector
  41.         (nthcdr 6 (vector-to-list (vector-round 0 127 x))
  42.         )
  43.      )
  44. )
  45. (setq hop-y-vector
  46.     (list-to-vector
  47.         (nthcdr 6 (vector-to-list (vector-round 0 127 y))
  48.         )
  49.      )
  50. )
  51. (setq hop-xy-vector (vector-mix hop-x-vector hop-y-vector)
  52. )
  53. ; - - - - - - - - - - - - - - - - - - - - -
  54.  
  55. (setq four-vector
  56.   (gen-fourier 
  57.      '(1 2 3)
  58.      '(.5 -2 (gen-sin 36 1.5 64))
  59.      '(0 45 90)
  60.      500)
  61. )
  62. ; - - - - - - - - - - - - - - - - - - - - -
  63.  
  64. (setq butterfly-vector
  65.    (vector-modulate fig-vector (reverse fig-vector)
  66.    )
  67. )
  68. ; - - - - - - - - - - - - - - - - - - - - - 
  69. (setq sin-vector
  70.     (vector-modulate
  71.          (vector-resynthesize 1 (gen-sin 10 0.5 500) nil nil)
  72.          (gen-sin 52 0.5 500)
  73.     )
  74. )
  75. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  76. ;                                                               ; vectors-to-symbols
  77.  
  78. (setq
  79.    white-s (vector-to-symbol -z z white-vector)
  80.    fig-s (vector-to-symbol -z z fig-vector)
  81.    fig-smoo-s (vector-to-symbol -z z fig-smoo-vector)
  82.    hop-x-s (vector-to-symbol -z z hop-x-vector)
  83.    hop-y-s (vector-to-symbol -z z hop-y-vector)
  84.    hop-xy-s (vector-to-symbol -z z hop-xy-vector)
  85.    four-s (vector-to-symbol -z z four-vector)
  86.    butterfly-s (vector-to-symbol -z z butterfly-vector)
  87. )
  88. (init-rnd .879)
  89. (setq white-s5
  90.    (let ((white-s5 nil))
  91.      (dotimes (i 5)
  92.        (push (pick-random white-s) white-s5)
  93.      ) white-s5
  94.    )
  95. )
  96. (init-rnd .0071)
  97. (setq white-s10
  98.    (let ((white-s10 nil))
  99.      (dotimes (i 10)
  100.        (push (pick-random white-s) white-s10)
  101.      ) white-s10
  102.    )
  103. )
  104. (init-rnd .615)
  105. (setq white-s25
  106.    (let ((white-s25 nil))
  107.      (dotimes (i 25)
  108.        (push (pick-random white-s) white-s25)
  109.      ) white-s25
  110.    )
  111. )
  112. (init-rnd .537)
  113. (setq white-s77
  114.    (let ((white-s77 nil))
  115.      (dotimes (i 77)
  116.        (push (pick-random white-s) white-s77)
  117.      ) white-s77
  118.    )
  119. )
  120.  
  121. ;                                                               ; visualizer-to-symbols
  122. (setq fig-xq-s
  123.    '(d = d = d = d = d = d = d = d = d = d = d = d = e = e = e = e = e = f = f = f = f = f = 
  124.      f = f = f = f = f = f = f = f = f = f = g = g = g = g = g = g = g = g = g = g = g = g =
  125.      g = g = g = g = h = h = h = h = h = h = h = h = h = h = h = h = i = i = i i = i = i = i
  126.      = j = k = m = p = s = s = s = s = s = s = t = t = t = t = t = t = = = t = t = u = s = v
  127.      = r = w = p = v = s = w = o = t = v = s = x = l = o = t = x = k = k = m = q = x = o = t
  128.      = z = d = -p = -q = -o = -u = a = -z = q = y = k = i = c = -v = b)
  129. )
  130. (setq bolt-up-s
  131.     (butlast
  132.        (remove '=
  133.           (find-change
  134.              (remove '= fig-xq-s)
  135.           )
  136.        )
  137.     )
  138. )
  139. (setq bolt-dwn-s
  140.    (symbol-inversion 'a bolt-up-s)
  141. ) ; l = 50
  142.  
  143. (setq fig-yq-s
  144.    '(w = = = = = = = = z = = v = = = = = = = = = = v = u = = v = = = = = = = = = = =
  145.      = = = = = = = = = = = = = = = = = = = w = = z = = y -z-yu -y-x -w-v -u-t = = -s-r -r-q-p
  146.      -p-o-n -m-l -k-j -i-h-g -g-f-e -d-c-b -ba b by = c = crx r p = r d = = = pt n = = dl sx
  147.      = = l = = de efkmo ghijq ht jn j = = km o l n = s pq = x = t)
  148. ) ; l = 125
  149. (setq spots-s
  150.    '(w = = = = = = = = z = = v = = = = = = = = = = v = u = = v = = = = = = = = = = = =
  151.      = = = = = = = = = = = = = = = = = = = w = = z = = y)
  152. ) ; l = 66
  153. (setq rip-s
  154.     '(-z-yu -y-x -w-v -u-t = -s-r -r-q-p
  155.      -p-o-n -m-l -k-j -i-h-g -g-f-e -d-c-b -ba b by = = c = = crx r p = = r d = = = = pt n = = 
  156.      dl sx = = l = = de efkmo ghijq ht jn j = = = km o l n = = s pq = = x = = t)
  157. ) ; l = 66
  158. (setq tail-s
  159.     '(km o l n = = s pq = = x = = = t = = = = =)
  160. )
  161. (setq fig-smoo-xq-s
  162.    '(-z -o -f d l n p p q q q q q r r r r r r r r r r r r r r r s s s s s s s s s s s s s s
  163.       s s s t t t t t t t t t t t t t t t t t t t t t t t t t t t u u u u u u u u u u u u
  164.       u u u u u u u u u v v v v v v v v v v v v v v v v v v v v v w w w w w w w w w w w w
  165.       w w w w w w w w x x x x x x x w w w v u t t t t t t t t t t s s s s s s s s s s t s
  166.       s s t s s s t s s s t s s s t t t t t s r s t t t t t t s r r r s u v w x v t t u v
  167.       v x y z z x v v u v v t r q p p p o o o o o p p q r r s s s t t t u v w w v w x)
  168. ) ; l = 250
  169. (setq fig-smoo-inv-xq-s (symbol-inversion 'a fig-smoo-xq-s)
  170. )
  171. (setq smoo-mel
  172.   (rest
  173.      (remove '=
  174.         (find-change fig-smoo-xq-s
  175.         )
  176.      )
  177.   )
  178. )
  179. (setq fig-tail-x-s
  180.     '(-z -z -v -v -m -v a -v i -m i -i a a a a a a a a i i i i i i i a a i i a a i i a a i m
  181.       a -i m v a -v a m i -m a v -m -v i i m -i -m m m z -i -v a -v z -z -i m -v -i -i -v v
  182.       -m -m -z -m m -v -i -m m z m -m -z -m -v -v i i m v -i -m z z -i -z -z -z -z -z -z -v
  183.       -v i m i -z -i)
  184. )
  185. (setq fig-tail-y-s
  186.      '(-z f j o u v w z -y -x -w -f -c d e g h l p w x -x -v -d -c b i j k l n o s -u -h a c
  187.        f h l r t z -w -u -t -s -r -q -n -m -l -j -h -g -f -d d -v -u q -p -o -n -m -l -k -i -e
  188.        -b q x y -i -h -e a b c g k m n q y-g -c i r c e m s t)
  189. )
  190. (setq twigs-s
  191.      '(m m m m m m m m m l n k o j q f u a x -h w -g x -h w -h x -i w -h x -i w -i x
  192.        -j w -i x -j w -i x -k w -i x -l v -g x -n u -d y -q r b x -m u -g y -r q d w -k x -o
  193.        u -g z -u m j p f u -i y -u m l m k n i q b x -u o f u -i z -z e v -o v -p v -m x -t q
  194.        b x -x i p c x -x k m j o c w -u p b)
  195. ) ; l = 125
  196.  
  197. (setq four-inv-xq-s
  198.     '(m r f x d x g s o k v f y g v m p s j x i w k s q n t k v l t o p q n s n r o p p o
  199.       o p n p m o o m q k r i q k m o h r e r f n k g p b r a o e h k -b q -f p -c j f a l
  200.      -g o -h k -c b f -g k -k j -i d -b -f e -l g -l c -h -f -c -k b -m -b -k -f -h -j -f -m
  201.      -f -m -h -k -k -j -l -k -l -l -l -m -m -l -o -k -p -k -q -m -n -p -k -t -i -t -k -r -o
  202.      -m -u -h -x -h -v -m -p -s -i -y -f -y -i -t -p -l -w -f -z -f -w -k -o -s -g -x -d -x
  203.      -g -r -n -j -t -d -v -d -s -i -l -o -f -r -d -q -f -l -i -g -m -d -m -d -k -f -g -h -d
  204.      -h -d -f -d -e -d -d -c -d a -d b -b a c -c f -d g -b f d b j -c m -c l d g k b q -b r
  205.       c n j g r b v b t i m q f x d x g s o k w g z g w m q t k y i y m u r p w m x n v q s
  206.       t q v p v q t s s s s s s r s s r t p v o u p r s m v k w l s p m u h x g u k n r g v
  207.       c v e p l g s a u -b q f i m a r -d q -b k g c m -e n -e k a d g -d j -f i -d d a -c d
  208.      -f d -f b -d -c -b -e -b -f -d -e -e -e -e -f -d -h -d -i -f -g -i -d -l -c -m -d -j -h
  209.      -f -m -b -p -b -o -f -i -m -c -r b -r -b -m -i -f -q b -t b -q -e -i -m -b -s d -s a -l
  210.      -h -d -o c -q c -n -d -g -j a -n d -m a -h -f -c -i c -j b -g -b -c -d b -e b -d b -b a
  211.       b b b c b d b d e b g a i b g f d k a n a m e h l c q a r d n k g r b v b s h m q f w)
  212. ) ; l = 500
  213. (setq four-inv-yq-s
  214.   (symbol-melodize
  215.     '(-j = -j -i = -k-i = -j-i = -h -k = -k -l -h -l-jq -k -i -hr -gq -l-hp s -g -mq -m-lp
  216.       -k-j -l -is -m-gp -lst -h -oo -g-fqrt -n-m-l-kop -p-n-m-gr -p-m-j-ho -o-n -q-o-m-l-i
  217.       -n-l-f -o-nos -ht -gq -l-kprt -q-j-hno -q-p-o-n-knort -k-f -r-q-i -g-fnsu -i -p-eln
  218.       -o-n-j-g-flmop -r-p-i-gmnqt kmnru -ekn -h-fjlnosu -i-f-e-dkmnosu -g-em -r-q-omu
  219.       -e-d-clopt -p-d-bmq puv -s-oijpr -s-r-ervwx -dijklstx -s-ouv -e-c-bmpw -q-caquvy
  220.       -p-d-bktv hsx -partvy -z-cklvw -dl -sw -t-pix -rjz -t-q-daw -z-y -p-bbhjk -y-sahy
  221.       -y-d-cbiw -th -sxz -xalw = -ucj -r-q-cl -x-b -u-t-qgjkwy -t-cch -y-x-w-sb -wgix -r-c
  222.       -x-tckz -u-cabdgjx -z-ug -v-t-bdxy -w-vhk -w-u-t-rf -y-v -v-u-sb -x-v-s-rcf -w-v-udfgi
  223.       -x-u-rd -bbdjxz -waei -z-v-u-bfh -t-s-bcejy -vef -y-xbdegi -xefgy -wae f -wcd cfh gi
  224.       -wefy -y-bdi dgh bg -xbcz -xah -z-ya d -yc b)
  225.   )
  226. ) ; l = 456
  227.  
  228. (setq butterfly-xq-s
  229.     '(p = w = o = m = -w = b = i = y = q = x = v = v = v = -z = -i = f = -t = b = i = k = l
  230.       = -v = -i = f = j = -t = -g = -o = -k = d = -r = -g = -n = b = -q = -d = -o = -g = -l
  231.       = -i = -k = -i = -j = -i = -i = -i = -i = -h = -i = -h = -h = -g = -h = a = g = j = k
  232.       = l = m = m = m = m = m = m = m = m = n = o = o = q = t = = w = w = w = w = w = w = w
  233.       = w = w = x = w = x = w = x = v = y = t = y = s = x = u = y = q = v = x = u = z =
  234.       n = p = u = z = m = m = n = q = x = o = t = z = d = -o = -p = -n = -t = b = -x = p =
  235.       x = k = i = c = -u = -u = -y)
  236. ) ; l = 250
  237. (setq butterfly-mel-s
  238.      (remove '= butterfly-xq-s)
  239. ) ; l = 125
  240. (setq butterfly-yq-s
  241.     '(-u = = = = w = -x = = = -r = z -p -t v = = = = -n = = -l = v = -ou -l = -mv = = = -k
  242.       = = -o-j = -i = -h -t-j-i-h -q-h-g -g-f -f-e -k-f -p-n = = = = = -l = = = = = =
  243.       -e -swz -m -x = y = = -nu = = = -q -t -d = = = = = -x-sy = -d -p = -rx -d -r -c -y-cr
  244.       -br ab bp r c t -yc -zp x -w n ds = = l = = = d lt o mq -v k -v-un eij -zdefgh -vhj
  245.       jmox s -wk ln pq t)
  246. )
  247. (setq butterfly-trap-s
  248.     (reverse 
  249.         '(-r -j -c -y -n -t -p -o -s -y -t -s -s -r -q -p -z -i f -e -j -g -e e t p s o l
  250.           c -o -j -o -c m j n c -m -k -q -k -h -i -i -d e -c -g -h -l -g -e -d b -c -e -e -g
  251.           -e -e -g -e -e -e -d -e -e -d -c -c -c -b -b -b a a a b b c c d
  252.           e f i m o v t y w z y z z y y y z)
  253.     )
  254. ) ; l = 100
  255.  
  256. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  257. ;                                                                      ; visualizer lengths
  258.  
  259. (setq white-l
  260.     '(1/10 11/100 11/100 13/50 13/100 13/100 7/50 1/50 1/100 1/100 1/100 11/50 1/25 1/25 1/25
  261.       37/100 1/20 1/20 1/20 9/20 4/25 3/20 3/20 9/50 7/100 7/100 3/50 71/100 1/20 1/20 1/20
  262.       9/25 3/100 1/25 11/25 11/50 11/50 11/50 57/100 4/25 4/25 4/25 1/2 1/20 1/20 1/25 31/100
  263.       3/25 11/100 3/25 57/100 1/100 1/100 1/100 27/100 3/50 3/50 3/50 1/10 7/100 3/50 3/50 1/4
  264.       11/100 3/25 3/25 4/5 4/25 4/25 17/100 9/50 11/100 3/25 3/25 21/50 4/25 3/20 3/20 27/100
  265.       7/100 2/25 7/100 9/100 1/10 1/10 1/10 9/50 1/100 1/100 1/100 19/50 1/50 3/100 3/100
  266.       11/100 17/100 9/50 17/100 63/100 11/50 11/50 23/100 31/50 13/100 3/25 3/25 23/100 17/100
  267.       17/100 18/25 3/25 11/100 3/25 2/25 7/50 7/50 7/50 63/100 19/100 19/100 19/100 14/25 7/50
  268.       3/20 3/20 3/50 23/100 23/100 6/25 87/100 17/100 9/50 17/100 31/50 9/100 1/10 1/10 7/25
  269.       7/50 7/50 7/50 47/100 1/100 1/50 1/100 4/25 9/100 1/10 9/100 2/25 9/100 1/10 1/10 1/25
  270.       1/50 1/50 1/50 16/25 9/50 17/100 17/100 1/25 9/100 9/100 2/25 23/50 11/100 11/100 11/100
  271.       13/25 3/50 1/20 3/50 11/100 1/10 1/10 4/25 9/100 1/10 9/100 69/100 13/100 13/100 13/100
  272.       39/100 13/50 1/4 1/4 17/100 3/25 3/25 3/25 3/5 7/100 7/100 7/100 2/5 1/50 3/100 3/100 1/2
  273.       1/10 11/100 11/100 1/10 3/50 3/50 7/100 23/50 9/50 9/50 9/50 2/25 17/100 17/100 17/100
  274.       6/25 3/100 3/100 1/50 1/50 1/4 1/4 6/25 8/25 3/25 13/100 13/100 71/100 1/20 3/50 1/20
  275.       23/100 1/50 3/100 3/100 7/100 1/20 1/20 1/20 63/100 1/50 1/50 1/50 17/20 1/100 1/100
  276.       1/50 1/5 1/25 1/20 9/100 1/50 1/50 1/50 23/50 3/50 3/50 3/50 3/25 1/25 1/25 1/25 4/25
  277.       9/100 9/100 9/100 53/100 1/10 11/100 11/100 9/25 13/100 13/100 7/50 7/100 1/100 1/100
  278.       1/100 13/50 4/25 17/100 4/25 1/100 13/100 3/25 3/25 21/50 19/100 19/100 1/5 33/50 7/25
  279.       29/100 29/100 18/25 4/25 4/25 3/20 29/50 1/5 21/100 1/5 11/50 1/100 1/100 1/100 7/50
  280.       4/25 4/25 17/100 1/100 1/50 1/100 1/50 1/20 1/25 1/20 7/20 11/100 1/10 11/100 11/25
  281.       11/100 3/25 11/100 7/100 3/50 3/50 7/100 1/5 17/100 17/100 17/100 1/4 9/100 1/10 1/10
  282.       43/100 3/100 1/25 3/100 17/100 9/50 9/50 17/100 16/25 17/100 9/50 9/50 7/20 3/20 7/50
  283.       3/20 1/100 2/25 7/100 7/100 11/20 9/50 17/100 9/50 33/100 7/100 2/25 7/100 31/50 1/100
  284.       1/100 1/100 1/1 27/100 27/100 27/100 41/50 17/100 9/50 17/100 67/100 7/25 27/100 27/100
  285.       3/100 2/25 9/100 2/25 24/25 1/20 1/20 1/20 7/50 19/100 9/50 13/50 3/50 3/50 3/50 17/20
  286.       11/100 1/10 11/100 1/50 11/100 3/25 11/100 18/25 1/100 1/100 1/100 73/100 2/25 2/25 2/25
  287.       2/25 11/100 3/25 11/100 3/25 9/50 9/50 9/50 4/25 1/50 1/100 1/50 89/100 21/100 21/100
  288.       21/100 17/100 1/20 3/50 3/50 29/50 3/50 3/50 7/100 14/25 3/25 13/100 3/25 9/100 7/50
  289.       3/20 7/50 13/25 13/50 13/50 13/50 7/25 1/25 1/25 1/25 4/25 1/50 1/50 1/50 22/25 9/2
  290.       37/100 21/100 1/10 1/10 1/10 31/50 4/25 4/25 3/20 19/100 3/50 3/50 1/20 93/100 1/10
  291.       1/10 11/100 47/50 3/100 1/50 3/100 12/25 1/20 1/20 1/20 9/50 3/50 7/100 7/100 33/100
  292.       1/25 1/20 1/25 41/50 1/50 1/100 1/100 1/100)
  293. )
  294. (init-rnd 0.497)
  295. (setq white-l5
  296.    (let ((white-l5 nil))
  297.      (dotimes (i 5)
  298.        (push (pick-random white-l) white-l5)
  299.      ) white-l5
  300.    )
  301. )
  302. (init-rnd 0.0179)
  303. (setq white-l10
  304.    (let ((white-l10 nil))
  305.      (dotimes (i 10)
  306.        (push (pick-random white-l) white-l10)
  307.      ) white-l10
  308.    )
  309. )
  310. (init-rnd 0.497)
  311. (setq white-l25
  312.    (let ((white-l25 nil))
  313.      (dotimes (i 25)
  314.        (push (pick-random white-l) white-l25)
  315.      ) white-l25
  316.    )
  317. )
  318. (init-rnd 0.117)
  319. (setq white-l41
  320.    (let ((white-l41 nil))
  321.      (dotimes (i 41)
  322.        (push (pick-random white-l) white-l41)
  323.      ) white-l41
  324.    )
  325. )
  326.  
  327. (setq fig-l
  328.     '(1/4 3/20 3/20 1/10 1/20 1/10 3/20 3/20 1/4 1/10 3/20 3/20 1/20 1/10 1/20 1/20 1/20 1/20
  329.       1/20 1/10 1/20 7/20 1/5 3/10 1/10 1/20 1/10 1/20 1/10 1/20 1/20 1/20 1/20 1/20 1/20 1/20
  330.       1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/10 1/20 3/20
  331.       1/20 3/20 1/20 3/20 3/20 1/20 1/20 1/20 1/20 1/20 1/10 1/20 1/20 1/20 1/10 1/20 1/10 1/20
  332.       1/20 1/20)
  333. )
  334. (setq fig-tail-l
  335.      '(1/5 1/20 3/10 7/20 3/10 1/10 1/10 1/20 1/20 1/20 1/20 1/20 1/20 1/5 9/20 9/20 3/20 1/5
  336.        2/5 7/20 3/10 3/10 1/10 1/10 3/20 1/20 3/20 7/20 9/20 7/20 3/20 1/5 1/10 7/20 3/20 1/20
  337.        3/20 3/20 2/5 1/10 1/5 1/5 1/10 7/20 1/5 1/20 9/20 1/10 1/4 1/10 1/5 9/20 7/20 7/20 3/20
  338.        1/5 7/20 3/10 3/10 1/10 3/20 2/5 1/4 3/20 3/10 7/20 1/4 1/10 1/4 2/5 7/20 1/5 1/4 7/20
  339.        3/10 1/4 1/4 3/10 3/10 1/4 1/4 3/10 3/10 1/4 1/4 3/10 3/10 3/10 3/10 3/10 3/10 3/10 1/4
  340.        1/4 1/4 1/4 1/4 1/4 1/4 1/4 1/5 3/10 3/20 3/10 1/10 1/4 1/10 3/20 1/10 1/10 1/20 1/20)
  341. )
  342. (setq four-l
  343.      '(17/100 11/100 1/25 1/20 11/100 17/100 1/5 1/5 4/25 11/100 1/25 3/100 1/10 7/50 17/100
  344.        4/25 7/50 9/100 1/25 3/100 2/25 3/25 13/100 13/100 1/10 7/100 1/50 1/100 1/20 7/100 2/25
  345.        3/50 1/20 3/100 1/100 1/50 1/50 1/50 1/100 1/100 1/100 1/100 1/100 1/100 1/50 1/25 1/25
  346.        1/20 1/20 1/25 1/100 1/100 1/20 7/100 1/10 11/100 1/10 3/50 3/100 1/50 7/100 3/25 3/20
  347.        4/25 13/100 9/100 3/100 3/100 1/10 3/20 9/50 9/50 4/25 11/100 1/25 1/25 11/100 9/50
  348.        21/100 21/100 17/100 11/100 1/25 1/25 3/25 17/100 1/5 1/5 17/100 11/100 3/100 1/25
  349.        11/100 4/25 9/50 9/50 3/20 1/10 1/25 3/100 9/100 13/100 7/50 7/50 11/100 7/100 1/50 1/50
  350.        3/50 9/100 1/10 9/100 2/25 1/20 1/50 1/100 3/100 1/20 1/25 1/25 1/50 1/100 1/100 1/100
  351.        1/100 1/100 1/50 1/25 3/100 3/100 1/100 1/100 1/25 3/50 2/25 2/25 2/25 1/20 1/50 3/100
  352.        3/50 11/100 13/100 7/50 3/25 9/100 3/100 3/100 1/10 7/50 17/100 17/100 4/25 1/10 1/25
  353.        1/25 11/100 17/100 19/100 1/5 17/100 3/25 1/25 3/100 11/100 17/100 21/100 1/5 9/50 3/25
  354.        1/20 1/25 11/100 17/100 19/100 19/100 3/20 11/100 1/25 3/100 1/10 7/50 17/100 4/25
  355.        13/100 2/25 3/100 3/100 7/100 11/100 3/25 11/100 9/100 3/50 1/100 1/50 1/20 3/50 7/100
  356.        3/50 1/25 1/50 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100 3/100 1/20
  357.        3/50 3/50 1/20 3/100 1/100 1/50 1/20 2/25 1/10 11/100 1/10 7/100 1/50 3/100 2/25 3/25
  358.        4/25 4/25 7/50 9/100 3/100 1/25 1/10 4/25 19/100 19/100 4/25 3/25 1/25 1/25 3/25 17/100
  359.        1/5 1/5 9/50 11/100 1/25 1/25 11/100 9/50 1/5 1/5 4/25 11/100 3/100 1/25 11/100 3/20
  360.        9/50 17/100 3/20 9/100 1/25 3/100 2/25 13/100 7/50 7/50 11/100 2/25 1/50 1/50 3/50 7/100
  361.        9/100 2/25 7/100 1/25 1/50 1/100 1/50 1/25 3/100 3/100 1/100 1/100 1/100 1/100 1/100 1/50
  362.        1/50 1/25 1/25 1/25 1/100 1/100 1/20 7/100 9/100 9/100 9/100 3/50 1/50 3/100 3/50 11/100
  363.        13/100 7/50 3/25 9/100 3/100 3/100 1/10 3/20 9/50 9/50 4/25 1/10 1/25 1/25 11/100 17/100
  364.        1/5 1/5 17/100 3/25 1/25 1/25 3/25 17/100 1/5 1/5 17/100 11/100 1/25 1/25 11/100 4/25
  365.        19/100 19/100 4/25 1/10 3/100 3/100 9/100 7/50 4/25 4/25 13/100 2/25 1/50 3/100 7/100
  366.        9/100 11/100 11/100 9/100 1/20 1/50 1/100 1/25 3/50 1/20 1/20 1/25 3/100 1/100 1/100
  367.        1/100 1/100 1/100 1/100 1/100 1/50 1/100 1/100 3/100 1/20 7/100 7/100 7/100 1/25 1/50
  368.        1/50 1/20 9/100 11/100 13/100 11/100 2/25 3/100 1/50 9/100 13/100 17/100 17/100 3/20
  369.        9/100 1/25 1/25 11/100 17/100 19/100 1/5 4/25 11/100 1/25 3/100 3/25 17/100 21/100 1/5
  370.        17/100 11/100 1/20 1/25 11/100 17/100 1/5 21/100 17/100 11/100 3/100 3/100 1/10 7/50
  371.        17/100 4/25 7/50 9/100 1/25 3/100 2/25 3/25 13/100 13/100 1/10 7/100 1/50 1/50 3/50 2/25
  372.        9/100 7/100 3/50 1/25 1/50 1/100 1/50 3/100 1/50 1/50 1/100 1/100 1/100 1/100 1/100
  373.        3/100 1/25 1/20 1/20 3/100 1/100 1/100 1/20 2/25 1/10 11/100 9/100 3/50 3/100 1/50 2/25
  374.        3/25 7/50 3/20 7/50 9/100 3/100 3/100 9/100 3/20 9/50 19/100 4/25 11/100 1/25 1/25 3/25
  375.        17/100 1/5 1/5 9/50 1/100)
  376. )
  377. (setq butterfly-l
  378.      '(21/100 11/50 3/50 1/50 13/100 2/25 19/50 6/25 1/5 3/50 1/50 1/100 17/100 11/50 3/50 1/20
  379.        9/100 7/100 3/100 1/100 1/100 13/100 1/20 1/20 1/50 3/25 1/20 3/100 1/50 1/20 2/25 1/25
  380.        3/100 1/20 3/50 1/20 1/20 3/100 1/50 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100
  381.        1/100 1/100 1/100 1/100 1/100 1/100 3/100 3/100 1/50 1/100 1/100 1/100 1/100 1/100 1/100
  382.        1/100 1/100 1/100 1/100 1/100 1/100 1/100 3/100 3/50 7/100 1/100 1/100 1/100 1/100 1/100
  383.        1/100 1/100 1/100 1/100 1/100 1/100 1/50 1/50 3/100 1/20 2/25 11/100 13/100 17/100 7/50
  384.        7/100 11/100 1/5 13/100 1/25 2/25 13/100 7/25 1/25 13/100 13/100 8/25 1/100 1/50 7/100
  385.        1/5 6/25 13/100 17/100 23/50 1/100 1/100 1/50 7/100 2/25 4/25 7/100 23/100 17/50 1/50
  386.        2/25 1/100 3/10)
  387. ) ; l = 125 z = 9
  388.  
  389. (setq special-l
  390.     (qlength '(100-9887766554443333222221111111111222223333444556677889)
  391.     )
  392. ) ; length = 52 zone = 2
  393.  
  394. (setq special-l2
  395.     (qlength '(500-998877665554444333332222221111111111111122222233333444455566778899)
  396.     )
  397. ) ; length = 66 zone = 1/2
  398.  
  399. (setq low-l
  400.    (symbol-shuffle
  401.        (length-rests-i '1/20 (append '(1/20) (subrange 5 30 fig-tail-l)
  402.                              )
  403.        ) .358
  404.    )
  405. )
  406. (setq low-s
  407.     (m-to-length low-l butterfly-mel-s)
  408. )
  409. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  410. ;                                                                   ; velocity curves
  411.  
  412. (setq
  413.    white-v (vector-to-list (vector-round 0 127 white-vector))
  414.    fig-v (vector-to-list (vector-round 0 127 fig-vector))
  415.    fig-smoo-v (vector-to-list (vector-round 0 127 fig-smoo-vector))
  416.    hop-xy-v (vector-to-list (vector-round 0 127 hop-xy-vector))
  417.    four-v (vector-to-list (vector-round 0 127 four-vector))
  418.    four-inv-v (vector-to-list (vector-round 0 127 (symbol-to-vector 0 127 four-inv-xq-s)))
  419.    butterfly-v (vector-to-list (vector-round 0 127 butterfly-vector))
  420.    sin-v (vector-to-list (vector-round 0 127 sin-vector))
  421. )
  422. (init-rnd 0.718)
  423. (setq white-v5
  424.    (let ((white-v5 nil))
  425.      (dotimes (i 5)
  426.        (push (pick-random white-v) white-v5)
  427.      ) white-v5
  428.    )
  429. )
  430. (init-rnd 0.417)
  431. (setq white-v10
  432.    (let ((white-v10 nil))
  433.      (dotimes (i 10)
  434.        (push (pick-random white-v) white-v10)
  435.      ) white-v10
  436.    )
  437. )
  438. (init-rnd 0.721)
  439. (setq white-v25
  440.    (let ((white-v25 nil))
  441.      (dotimes (i 25)
  442.        (push (pick-random white-v) white-v25)
  443.      ) white-v25
  444.    )
  445. )
  446.  
  447. (init-rnd 0.177)
  448. (setq white-v145
  449.    (let ((white-v145 nil))
  450.      (dotimes (i 145)
  451.        (push (pick-random white-v) white-v145)
  452.      ) white-v145
  453.    )
  454. )
  455.  
  456. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  457.                                                                        ; detune curves
  458. (setq
  459.    fig-detune (vector-to-list (vector-round 32 96 fig-vector))
  460.    fig-smoo-detune (vector-to-list (vector-round 32 96 fig-smoo-vector)) ; l = 250
  461.    fig-smoo-inv-detune (vector-to-list (symbol-to-velocity 32 96 1 fig-smoo-inv-xq-s))
  462.    butterfly-detune (vector-to-list (vector-round 32 96 butterfly-vector))
  463.    hop-detune (vector-to-list (vector-round 32 96 hop-xy-vector))
  464.    sin-detune (vector-to-list (vector-round 32 96 (subrange 0 250 sin-vector)))
  465.    twigs-detune (vector-to-list (symbol-to-velocity 32 96 1 twigs-s))
  466.    four-detune (vector-to-list (vector-round 32 96 four-vector))
  467. )
  468.  
  469.  
  470. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  471. ;                                                                          ; score
  472.  
  473. (def-zone
  474.       hit '(2/2 49/2 
  475.            ) 
  476.       ray '(1/2 6/2 38/2
  477.            )
  478.       pad '(12/2 2/2 1/2 2/2 3/2 11/2 18/2 2/2
  479.            ) 
  480.       horn '(16/2 2/2 2/2 2/2 4/2 7/2 1/2 1/2 1/2 9/4 2/2 3/4 4/2 3/2
  481.             ) 
  482.       clang '(6/2 2/2 9/2 3/2 4/2 6/2 4/2 4/2 1/2 1/4 2/2 5/2 9/4
  483.              ) 
  484.       sparkle '(7/2 38/2
  485.                ) 
  486.       chime '(16/2 33/2 2/2 
  487.              )
  488.       chiff '(13/2 4/2 3/2 2/2 4/2 1/2 2/2 2/2 2/2 4/2 2/2 2/2 5/2 7/4 3/4
  489.              ) 
  490.       wav '(26/2 4/2 1/10 1/10 1/10 2/10 1/10 2/10 1/10 1/10 13/4 2/2 5/2 1/8 6/4 9/8
  491.            ) 
  492.       rezzo '(30/2 2/2 12/2 2/2 5/2
  493.              )
  494.       low '(37/2 12/2 2/2
  495.            )
  496.       glass '(36/2 4/2 5/2 6/2)
  497. )
  498.  
  499. (def-length
  500.       hit '((1/50 -49/50) (-49/2)
  501.            )
  502.       ray (list '(1/2) '(1/500) white-l41
  503.            )
  504.       pad (list '(12/2) special-l '(-1/2) '(1/186) '(1/124) '(1/186)
  505.                 (append (length-syncopate 0.27 3 1 (subrange 0 25 butterfly-l)) (length-syncopate
  506.                 0.72 7 1 (subrange 25 100 butterfly-l))) '(-4/2)
  507.           )
  508.       horn (list '(16/2) '(1/500) '(1/500) '(1/500) '(1/500) '(-7/2) '(1/250) '(1/250)
  509.                  '(1/132) '(-9/4) '(1/264) '(-3/4) '(1/86) '(-5/2)
  510.             ) 
  511.       clang (list '(1/25 -74/25) '(3/20 1/20 5/20 7/20 5/20) '(-9/2) '(3/20 5/20 1/20 6/20
  512.                    6/20 4/20 5/20) '(-4/2) '(1/125) '(1/125) '(-4/2) special-l2 '(-1/4) '(1/100)
  513.                    '(1/130) '(-9/4)
  514.             )
  515.       sparkle (list '(7/2) (reverse white-l41)
  516.               ) 
  517.       chime (list '(16/2) '(1/93) '(-4/2)
  518.              )
  519.       chiff (list '(13/2) special-l2 '(-3/2) special-l2 (l-modify 0.45 nil :all :times '4 special-l2)
  520.                   special-l2 '(1/500) '(1/500) '(-2/2) '(1/500) '(1/500) '(1/500) '(1/120)
  521.                   (l-modify 0.45 nil :all :divide '2 special-l2) '(-3/4)
  522.              )
  523.       wav (list '(26/2) '(1/125) '(1/500) '(-1/10) '(1/500) '(-2/10)
  524.                 '(1/500) '(-2/10) '(1/500) '(-1/10) '(-13/4) special-l2 '(1/110) '(-1/8)
  525.                 (l-modify 0.45 nil :all :divide '2 special-l2) '(-9/8)
  526.            )
  527.       rezzo (list '(30/2) '(1/125) '(1/125) '(1/125) '(-7/2)
  528.              )
  529.       low (list '(37/2) low-l '(-4/2)
  530.           )
  531.       glass (list '(36/2) (l-modify 0.45 nil :all :times '4 special-l2) '(1/100) '(1/100) 
  532.           )
  533. )
  534.  
  535. (def-duration
  536.     ray (list '(6/10) '(1/500) (l-modify .9 41 :note :add '3/4 white-l41)
  537.         )
  538.     sparkle (list '(7/2) (l-modify .9 41 :note :add '3/4 (reverse white-l41))
  539.             )
  540.     clang (list '(200/25 -74/25) '(80/20 12/20 18/20 26/20 24/20) '(-9/2) '(7/20 10/20 6/20 12/20
  541.                  10/20 20/20 17/20) '(-4/2) '(3/125) '(3/125) '(-3/2) '(1/250) '(-1/4) '(1/50)
  542.                  '(1/130) '(-9/4)
  543.           ) 
  544. )
  545.  
  546. (def-velocity
  547.       hit '((127 0) (0) 
  548.            )
  549.       ray (list '(34) (append (gen-cresc 4 127 750) (gen-repeat 500 '(127)) (gen-dim 127 27 250))
  550.                  (reverse white-v145) 
  551.            )
  552.       pad (list '(0) (gen-cresc-dim 40 90 (length special-l)) '(0) (gen-cresc 47 127 186)
  553.                 (gen-dim 127 17 192) (gen-cresc 60 110 186) (subrange 125 125 butterfly-v) '(0)
  554.            )
  555.       horn (list '(0) (gen-cresc-dim 35 90 500) (append (gen-cresc 35 90 400) (gen-dim 90 50 100)) 
  556.                  (gen-cresc 50 90 500) (append (reverse four-v) four-v) '(0) (gen-dim 100 85 125)
  557.                  '(85) (gen-cresc-dim 70 108 66) '(0) (append (subrange 6 66 twigs-detune)
  558.                  (subrange 6 66 (reverse twigs-detune))) '(0) (subrange 6 86 twigs-detune) '(0)
  559.             )
  560.       clang (list '(92 0) '(90 28 36 70 16) '(0) '(41 50 30 68 34 48 27) '(0)
  561.                   (vector-round 6 30 (subrange 0 375 four-v)) (gen-dim 125 0 260) '(0)
  562.                   (gen-cresc-dim 0 127 (length special-l2)) '(0) (append (gen-cresc 25 75 60)
  563.                   (gen-dim 75 35 40)) (gen-cresc-dim 0 44 325) '(0)
  564.              )
  565.       sparkle (list '(0) white-v145
  566.                )
  567.       chime (list '(0) (gen-cresc-dim 15 45 250)
  568.              )
  569.       chiff (list '(0) (gen-cresc-dim 66 117 (length special-l2)) '(0) (gen-cresc-dim 25 90 (length special-l2))
  570.                   (gen-cresc-dim 90 127 (length special-l2)) (gen-cresc-dim 25 90 (length special-l2))
  571.                   (gen-cresc 30 100 500) (gen-dim 100 30 500) '(0) (append (gen-cresc 70 100 125)
  572.                   (gen-cresc 55 85 125) (gen-cresc 35 65 125) (gen-cresc-dim 48 82 127))
  573.                   four-inv-v (reverse four-inv-v) (gen-cresc-dim 0 44 300) (gen-cresc-dim 6 102
  574.                   (length special-l2)) '(0) 
  575.              )
  576.       wav (list '(0) (gen-cresc-dim 20 70 66) '(127) '(0) '(98) '(0) '(76)
  577.                 '(0) '(52) '(0) '(0) (gen-cresc-dim 25 110 (length special-l2))
  578.                 (gen-cresc-dim 0 44 275) '(0) (gen-cresc-dim 6 102 (length special-l2)) '(0)
  579.            )
  580.       rezzo (list '(0) (gen-cresc 5 35 125) '(35) (gen-dim 35 0 135) '(0)
  581.              )
  582.       low (list '(0) (subrange 10 60 fig-smoo-v) '(0)
  583.           )
  584.       glass (list '(0) (gen-cresc-dim 90 120 (length special-l2)) (gen-cresc-dim 0 44 275)
  585.                   (append (gen-cresc 0 44 50) (gen-repeat 200 '(44)) (gen-dim 44 0 55))
  586.             )
  587. )
  588.  
  589. (def-controller X5-controllers
  590.      (hit main-volume (list '(127) '(0))
  591.      )
  592.      (ray main-volume (list '(84) '(74) '(64)
  593.                       )
  594.           panning (list '(64) (append (gen-repeat 250 '(64)) (subrange 250 250 four-inv-v)
  595.                         (reverse four-inv-v) four-inv-v) white-v145
  596.                   )
  597.           rpn-lsb (list '(01))
  598.           rpn-msb (list '(00))
  599.           data (list '(64) (append (gen-repeat 500 '(64)) four-detune (reverse four-detune))
  600.                      '(64))
  601.  
  602.      )
  603.      (pad main-volume (list '(0) '(94) '(94) (gen-cresc 80 127 186) '(127) '(112)
  604.                              (gen-dim 127 0 127) '(0)
  605.                       )
  606.           panning (list '(64) (subrange 150 52 fig-v) '(64) fig-v (subrange 60 186 fig-v)
  607.                         '(4 16 26 32 50 64 76 87 98 106 127) (vector-round 40 80 sin-v) '(64)
  608.                   )
  609.           rpn-lsb (list '(01))
  610.           rpn-msb (list '(00))
  611.           data (list '(64) '(64) '(64) '(64) (append twigs-detune (subrange 0 51 (reverse twigs-detune)))
  612.                      '(64) '(64) '(64)
  613.                )
  614.      )
  615.      (horn main-volume (list '(0) '(82) '(82) '(82) '(82) '(82) '(102) (append 
  616.                              (gen-repeat 25 '(102)) (gen-repeat 25 '(84)) (gen-repeat 25 '(70))
  617.                              (gen-repeat 25 '(56)) (gen-repeat 25 '(42))) '(127) '(64)
  618.                              (gen-dim 127 47 285) '(0) (gen-dim 42 0 182) '(0)
  619.                         )
  620.            panning (list '(64) four-v (reverse four-v) four-v (append four-v (reverse four-v))
  621.                          '(64) (subrange 0 125 (reverse fig-v)) '(24 46 67 84 108)
  622.                          (gen-cresc 20 110 66) '(64) (gen-dim 90 0 285) '(64) (gen-cresc 60 127 182)
  623.                          '(64)
  624.                    )
  625.      )
  626.      (sparkle main-volume (list '(0) '(40))
  627.       panning (list '(64) (reverse white-v145))
  628.      )
  629.      (clang main-volume (list '(108) '(108) '(108) '(100) '(100) (append (gen-cresc 15 65 125)
  630.                               (gen-cresc 65 95 250)) (gen-dim 75 10 260) '(10)
  631.                               (gen-cresc-dim 25 121 (length special-l2)) '(0) (append
  632.                               (gen-cresc 22 62 60) (gen-dim 62 2 40)) (gen-cresc-dim 0 68 325)
  633.                               '(0)
  634.                         )
  635.             panning (list '(64) '(60 10 99 118 38) '(64) '(70 90 42 30 103 88 60) '(64)
  636.                           (subrange 125 375 four-v) (subrange 187 250 (reverse white-v))
  637.                           '(64) (gen-cresc 0 127 (length special-l2)) '(64) (gen-dim 100 0 100)
  638.                           (gen-cresc 0 127 325) '(64)
  639.                     )
  640.           rpn-lsb (list '(01))
  641.           rpn-msb (list '(00))
  642.           data (list '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64)
  643.                      (append (gen-cresc 80 96 16) (gen-dim 96 32 50)) '(64) '(64)
  644.                      (append (gen-cresc 76 96 75) (gen-repeat 100 '(96)) (gen-dim 96 32 150))
  645.                     '(64)
  646.                )
  647.      )
  648.      (chime main-volume (list '(0) '(59))
  649.             panning (list '(64) '(0 11 28 44 58 66 70 82 98 110 122)
  650.                     )
  651.      )
  652.      (chiff
  653.         main-volume (list '(0) '(125) '(0) (gen-cresc-dim 25 127 (length special-l2))
  654.                           (gen-cresc-dim 25 127 (length special-l2)) (gen-cresc-dim 25 127 (length special-l2))
  655.                           (gen-cresc 40 65 250) (gen-cresc 65 95 250) '(0) '(79)
  656.                           (gen-cresc 57 127 500) (gen-dim 127 0 500) (gen-cresc-dim 0 93 300)
  657.                           (gen-dim 28 0 462) '(0)
  658.                     )
  659.         panning (list '(64) (gen-cresc 0 127 (length special-l2)) '(64)
  660.                       (gen-cresc 0 127 (length special-l2)) (gen-dim 127 0 (length special-l2))
  661.                       (gen-dim 127 0 (length special-l2)) (gen-cresc 0 127 500) (gen-dim 127 0 500)
  662.                       '(64) (gen-dim 104 26 125) (reverse four-v) four-v (gen-cresc 0 127 300)
  663.                       (gen-dim 127 0 (length special-l2)) '(64) 
  664.                 )
  665.           rpn-lsb (list '(01))
  666.           rpn-msb (list '(00))
  667.           data (list '(64) '(64) '(64) (append (gen-cresc 80 96 81) (gen-dim 96 32 51))
  668.                      '(64) (append (gen-cresc 80 96 16) (gen-dim 96 32 50)) '(64) '(64)
  669.                      '(64) '(64) '(64) (append (gen-cresc 76 96 75) (gen-repeat 75 '(96))
  670.                         (gen-dim 96 32 125)) (gen-dim 96 32 (length special-l2)) '(64)
  671.                )
  672.      )
  673.      (wav main-volume (list  '(60) (gen-cresc-dim 60 80 250) '(100) '(64) '(80) '(64) '(70)
  674.                              '(64) '(70) '(64) '(64) (gen-cresc-dim 25 110 (length special-l2))
  675.                              (gen-cresc-dim 0 82 275) '(0) (gen-dim 28 0 396) '(0)
  676.                       )
  677.           panning (list '(64) butterfly-v '(122) '(64) '(88) '(64) '(44) '(64) '(11) '(64)
  678.                         '(64) (gen-dim 127 0 (length special-l2)) (gen-cresc 0 127 275) '(64)
  679.                         (gen-dim 127 0 (length special-l2)) '(64)
  680.                   )
  681.           rpn-lsb (list '(01))
  682.           rpn-msb (list '(00))
  683.           data (list '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64)
  684.                       (append (gen-cresc 80 96 16) (gen-dim 96 32 50)) (append
  685.                       (gen-cresc 76 96 75) (gen-repeat 100 '(96)) (gen-dim 96 32 100)) '(64)
  686.                       (gen-dim 96 32 (length special-l2)) '(64)
  687.                )
  688.      )
  689.      (rezzo main-volume (list '(0) '(54) '(54) '(54) '(0))
  690.             panning (list '(64) (subrange 0 125 hop-xy-v) (subrange 125 750 hop-xy-v)
  691.                           (subrange 750 125 hop-xy-v) '(64)
  692.                     ) 
  693.      )
  694.      (low main-volume (list '(0) (gen-dim 100 0 (length low-l)) '(0)
  695.                       )
  696.      )
  697.      (glass main-volume (list '(0) (gen-cresc-dim 25 127 (length special-l2)) (gen-cresc-dim 0 98 250)
  698.                         (append (gen-cresc 0 48 50) (gen-repeat 200 '(48)) (gen-dim 48 0 55))
  699.                         )
  700.             panning (list '(64) (gen-cresc 0 127 (length special-l2)) (gen-cresc 0 127 250) 
  701.                     (append (gen-repeat 50 '(72)) fig-v)
  702.                     )
  703.             rpn-lsb (list '(01))
  704.             rpn-msb (list '(00))
  705.             data (list '(64) '(64) (append (gen-cresc 76 96 75) (gen-repeat 75 '(96))
  706.                         (gen-dim 96 32 100)) '(64)
  707.  
  708.                  )
  709.      )
  710. )
  711.  
  712.  
  713. (def-symbol
  714.       hit (list '(-wabwz =) '(=)
  715.            ) 
  716.       ray (list '(]) '(]) (reverse white-s77)
  717.            )
  718.       pad (list '(=) '(z) '(=) fig-tail-y-s '(\e) fig-tail-y-s butterfly-mel-s '(=)
  719.            )
  720.       horn (list '(=) four-s four-inv-xq-s (reverse four-inv-xq-s) (append (reverse four-s)
  721.                  four-inv-xq-s) '(=) fig-yq-s (subrange 100 25 fig-yq-s) rip-s '(=)
  722.                  (append (reverse spots-s) (symbol-shuffle spots-s .031) (symbol-shuffle spots-s .915)
  723.                  spots-s) '(=) (append tail-s (symbol-shuffle spots-s .947) (symbol-shuffle spots-s .061)
  724.                  tail-s) '(=)
  725.            )
  726.       clang (list '(-z-yxy =) '(-p e -k -j i) '(=) '(-d e -s l i -n oa) '(=)
  727.                   (subrange 0 375 four-inv-xq-s) (subrange 37 250 white-s) '(=) '(-kk) '(=)
  728.                   butterfly-trap-s '(g) '(=)
  729.              )
  730.       sparkle (list '(=) white-s77
  731.                )
  732.       chime (list '(=) fig-tail-y-s '(=)
  733.              )
  734.       chiff (list '(=) '(-f -g -h -i) '(=) (append (gen-repeat (length special-l2) '(-oe))
  735.                   (gen-repeat (length special-l2) '(-pd))) '(-o) '(e) four-s (reverse four-s) 
  736.                   '(=) twigs-s four-s (reverse four-s) '(p) (append (gen-repeat
  737.                   (length special-l2) '(y)) (gen-repeat (length special-l2) '(=)) (gen-repeat
  738.                   (length special-l2) '(=)) (gen-repeat (length special-l2) '(k)) (gen-repeat
  739.                   (length special-l2) '(=)) (gen-repeat (length special-l2) '(=)) (gen-repeat
  740.                   (length special-l2) '(\d))) '(=)
  741.              )
  742.       wav (list '(=) fig-smoo-inv-xq-s (symbol-transpose 32 bolt-dwn-s) '(=)
  743.                 (symbol-transpose 20 bolt-dwn-s) '(=) (symbol-transpose 10 bolt-dwn-s)
  744.                 '(=) (symbol-transpose -6 bolt-dwn-s) '(=) '(=) (append
  745.                 (gen-repeat (length special-l2) '(y)) (gen-repeat (length special-l2) '(-so)))
  746.                 '(v) '(=) (append (gen-repeat (length special-l2) '(q)) (gen-repeat
  747.                 (length special-l2) '(p)) (gen-repeat (length special-l2) '(\h)) (gen-repeat
  748.                 (length special-l2) '(=)) (gen-repeat (length special-l2) '(r)) (gen-repeat
  749.                 (length special-l2) '(=))) '(=) 
  750.            )
  751.       rezzo (list '(=) (subrange 0 125 hop-xy-s) (subrange 125 750 hop-xy-s)
  752.                   (subrange 875 125 hop-xy-s) '(=)
  753.              )
  754.       low (list '(=) low-s '(=)
  755.           )
  756.       glass (list '(=) '(s) '(o) (append (gen-repeat 200 '(z)) butterfly-trap-s)
  757.             )
  758. )
  759.  
  760. (def-tonality
  761.      default (activate-tonality (chromatic c 5))
  762.         hit (activate-tonality (chromatic c 2))
  763.         ray (activate-tonality (equal-tempered 14 'c# 6 1000))
  764.         sparkle (activate-tonality (equal-tempered 15 'f# 7 1000))
  765.         horn (activate-tonality (chromatic c 4) (chromatic e 4) (chromatic f# 4) (chromatic a 4)
  766.                                 (chromatic c 5) (chromatic c 5) (chromatic c 5) (chromatic g 5)
  767.                                 (chromatic c 6) (chromatic c 5) (chromatic c 5) (chromatic c# 7)
  768.                                 (chromatic c 5)
  769.              )
  770.         clang (activate-tonality (chromatic c 5) (equal-tempered 12 'c 5 1000) (chromatic c 5)
  771.                                  (equal-tempered 13 'c 5 1000)(chromatic c 5) (chromatic c 7)
  772.                                  (chromatic c 7) (chromatic c 7) (chromatic c 7) (chromatic c 7)
  773.                                  (chromatic f# 7) (chromatic c 7) (chromatic c 7)
  774.               ) 
  775.         chime (activate-tonality (chromatic c 3))
  776.         chiff (activate-tonality (chromatic c 2) (chromatic c 2) (chromatic c 2) (chromatic c 8)
  777.                                  (chromatic c 4) (chromatic c 8) (chromatic c 8) (chromatic c 8)
  778.                                  (chromatic c 8) (chromatic c 8) (chromatic c 8) (chromatic c 8)
  779.                                  (chromatic c 7) (chromatic c 7)
  780.               )
  781.         wav (activate-tonality (chromatic a 4) (chromatic a 4) (chromatic a 4) (chromatic a 4)
  782.                                (chromatic a 4) (chromatic a 4) (chromatic a 4) (chromatic a 4)
  783.                                (chromatic a 4) (chromatic a 4) (chromatic a 4) (chromatic a 6)
  784.                                (chromatic a 6) (chromatic c# 7) (chromatic c# 7)
  785.             )
  786.         rezzo (activate-tonality (chromatic c 7))
  787.         low (activate-tonality (chromatic c 3))
  788.         glass (activate-tonality (chromatic c 1) (chromatic c 1) (chromatic c 6)
  789.                                  (equal-tempered 17 'f# 3 1000)
  790.               )
  791. )
  792.  
  793.  
  794. (def-program X5-sound-set
  795.      hit 56
  796.      ray 93
  797.      sparkle 99
  798.      clang 101
  799.      horn 64
  800.      pad 90
  801.      chime 113
  802.      chiff 122
  803.      wav 81
  804.      rezzo 87
  805.      low 90
  806.      glass 93
  807. )
  808.  
  809. (def-channel 
  810.      hit 2
  811.      ray 3
  812.      sparkle 4
  813.      clang 5
  814.      horn 6
  815.      pad 7
  816.      chime 8
  817.      chiff 9
  818.      wav 11
  819.      rezzo 12
  820.      low 15
  821.      glass 16
  822. )
  823.  
  824. (midiport :printer)
  825.  
  826. (def-tempo 24)
  827.  
  828. (compile-instrument-p "ccl;output:"  "jetson.mid"
  829.     hit
  830.     ray
  831.     sparkle
  832.     clang
  833.     horn
  834.     pad
  835.     chime
  836.     chiff
  837.     wav
  838.     rezzo
  839.     low
  840.     glass
  841. )
  842.